package GUI;

import 实体.会员卡;
import 实体.消费记录;
import 操作.会员卡_操作;

import javax.swing.*;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.JTableHeader;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;
import java.util.List;

public class 会员信息查询 {
    private JFrame frame;
    private JPanel main;
    private JButton 系统管理Button;
    private JButton 会员信息Button;
    private JButton 消费记录Button;
    private JTextField textField1;
    private JButton 按照卡号查询Button;
    private JButton 查询全部消费记录Button;

    private JTable 会员记录表;
    private DefaultTableModel 会员记录_tableModel;
    private Object[][] cellData;
    private String[] 会员记录_columnNames={"卡号","姓名","类型","余额","折扣","状态"};

    public 会员信息查询() {
        会员卡_操作 会员查询=new 会员卡_操作();
        按照卡号查询Button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent actionEvent) {
                会员记录_tableModel.setRowCount( 0 );
                try {
                    List<会员卡> list_会员卡 = 会员查询.搜索(textField1.getText());
                    for(会员卡 l : list_会员卡)
                    {
                        String[] tableValues = {l.get卡号(),l.get姓名(),l.get类型(),l.get金额(),l.get折扣(),l.get状态()};
                        会员记录_tableModel.addRow(tableValues);
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        });
        查询全部消费记录Button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent actionEvent) {
                会员记录_tableModel.setRowCount( 0 );

                try {
                    List<会员卡> list_会员卡 = 会员查询.查询all();
                    for(会员卡 l : list_会员卡)
                    {
                        String[] tableValues = {l.get卡号(),l.get姓名(),l.get类型(),l.get金额(),l.get折扣(),l.get状态()};
                        会员记录_tableModel.addRow(tableValues);
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        });
        消费记录Button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent actionEvent) {
                new 消费记录界面().界面();
                frame.dispose();
            }
        });
    }

    public static void main(String[] args) {
        界面();
    }
    public static void 界面(){
        会员信息查询 会员=new 会员信息查询();
        会员.frame=new JFrame("游泳管理系统");
        会员.frame.setContentPane(会员.main);
        会员.frame.setSize(500,400);
        会员.frame.setLocation(500, 200);
        会员.frame.setVisible(true);
        会员.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    private void createUIComponents() {
        // TODO: place custom component creation code here
        cellData=null;
        会员记录_tableModel=new DefaultTableModel(cellData,会员记录_columnNames);
        会员记录表=new JTable(会员记录_tableModel);
        会员记录表.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);//设置单选模式
        DefaultTableCellRenderer tcr = new DefaultTableCellRenderer();//单元格渲染器
        tcr.setHorizontalAlignment(JLabel.CENTER);//居中显示
        会员记录表.setDefaultRenderer(Object.class, tcr);//设置渲染器
        JTableHeader tableHeader = 会员记录表.getTableHeader();//获取表头
        tableHeader.setPreferredSize(new Dimension(tableHeader.getWidth(), 20));// 设置表头大小
        tableHeader.setFont(new Font("楷体", Font.BOLD, 15));//设置表头文字属性
        tableHeader.setReorderingAllowed(false);// 设置表格列不可重排
        会员记录表.setRowHeight(18);//设置行高
        会员记录表.setFont(new Font("楷体", 0, 13));//设置单元格文字属性

    }
}
